package comprasdiretas.entity;

import java.io.Serializable;
import java.lang.String;
import java.sql.Date;
import javax.persistence.*;

/**
 * Entity implementation class for Entity: ItemEntity
 *
 */

@NamedQueries({@NamedQuery(name="procurarItemPeloID", query="SELECT i FROM ItemEntity i WHERE i.id LIKE :id ORDER BY i.codSIASG"),
	@NamedQuery(name="procurarItemPeloDescricao", query="SELECT i FROM ItemEntity i WHERE UPPER(i.descricao) LIKE :descricao ORDER BY i.descricao"),
	@NamedQuery(name="procurarItemPeloCodSIASG", query="SELECT i FROM ItemEntity i WHERE i.codSIASG LIKE :codSIASG ORDER BY i.codSIASG")})
@Entity
@Table(name="item", schema="comprasdiretasdb")
public class ItemEntity implements Serializable {
	   
	@Id
	@Column(name="id")
	@TableGenerator(allocationSize=1,initialValue=1,name="Item_SEQ", 
			table="sequence",pkColumnName="SEQ_NAME", valueColumnName="SEQ_COUNT", 
			schema="comprasdiretasdb")
	@GeneratedValue(strategy=GenerationType.TABLE, generator="Item_SEQ")
	private int id;
	@Column(name="descricao")
	private String descricao;
	@Column(name="codSiasg")
	private String codSIASG;
	@Column(name="dataCadastramento")
	private Date dataCadastramento;
	@Column(name="unidade")
	private String unidade;
	@Column(name="tipo")
	private char tipo;

	private static final long serialVersionUID = 1L;

	public ItemEntity() {
	}   
	
	public ItemEntity(String descricao, String codSIASG, String unidade, Date data, char tipo) {
		this.descricao=descricao;
		this.codSIASG=codSIASG;
		this.dataCadastramento=data;
		this.unidade=unidade;
		this.tipo=tipo;
	} 
	
	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}   
	public String getDescricao() {
		return this.descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}   
	public String getCodSIASG() {
		return this.codSIASG;
	}

	public void setCodSIASG(String codSIASG) {
		this.codSIASG = codSIASG;
	}   
	public Date getDataCadastramento() {
		return this.dataCadastramento;
	}

	public void setDataCadastramento(Date dataCadastramento) {
		this.dataCadastramento = dataCadastramento;
	}   
	public char getTipo() {
		return this.tipo;
	}

	public void setTipo(char tipo) {
		this.tipo = tipo;
	}

	@Override
	public int hashCode() {
		return id;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ItemEntity other = (ItemEntity) obj;
		if (id != other.id)
			return false;
		return true;
	}

	public void setUnidade(String unidade) {
		this.unidade = unidade;
	}

	public String getUnidade() {
		return unidade;
	}
   
}
